﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;

namespace Edu_Examination.Lib
{
    public static class Mapping
    {
        public static DataTable ToDataTable<T>(this IList<T> data)
        {
            PropertyDescriptorCollection properties =
                TypeDescriptor.GetProperties(typeof(T));
            DataTable table = new DataTable();
            foreach (PropertyDescriptor prop in properties)
                table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
            foreach (T item in data)
            {
                DataRow row = table.NewRow();
                foreach (PropertyDescriptor prop in properties)
                    row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
                table.Rows.Add(row);
            }
            return table;
        }
        public static string mappingId(string ids)
        {
            if (string.IsNullOrEmpty(ids) || ids.Length == 0)
            {
                ids = "0";
            }
            else
            {
                ids = ids.Substring(1, ids.Length - 1);
                ids = ids.Substring(0, ids.Length - 1);
            }
            return ids;
        }
    }
}
